// 整个koa项目的入口
const Koa = require("koa");

const app = new Koa();
//端口号
const port = 5050;

//! 允许跨域  npm i koa2-cors
const cors = require("koa2-cors");

//?引入path来拼接路径
const path = require("path");

const router = require("./router/index");

//! 静态文件包 npm i koa-static
const static = require("koa-static");

//? 引入koaBody
const { koaBody } = require("koa-body");

//todo 后端允许跨域
app.use(cors());
//? 获取静态资源文件夹, 注意这个文件目录是/images, 而不是/images/upload，这样就可以访问images里所有的文件

app.use(static(path.join(__dirname,'/assets')));

//?koaBody来接收上传的图片文件
app.use(
    koaBody({
      multipart: true,
      formidable: {
        maxFileSize: 200 * 1024 * 1024,
        uploadDir: __dirname + "/assets/images/upload",
        // 保留文件扩展名
        keepExtensions: true,
      },
    })
  );
/*
use()就是调用router中间件
router.routes()的作用是启动路由；
router.allowedMethods()的作用是允许任何请求(get,post,put)
*/ 
// localhost:5050代表已经在assets文件夹下
// 获取静态资源文件夹，注意这个文件目录是/assets,而不是/assets/images/upload
app.use(router.routes(),router.allowedMethods());
/*
    // 调用中间件
    // app.use( async (ctx)=>{
    //     //ctx.response.body=ctx.body;
    //     // 返回数据给页面 ctx.response.body=""
    //     ctx.response.body="Hello Koa";
    // })
*/
// koaBody来接收上传的图片文件



// baidu.com ip+port
app.listen(port,()=>{
    console.log(`Server is running at http://localhost:${port}`);
})